#include <stdio.h>
#include <stdlib.h>
#include "common.h"

#define SIZE 10


static void sort_1()
{
    int array[SIZE];// 定义时，下标只能为常量
    int i,j;
    int temp; // 用于交换数据的中间数据

    array_random(array, SIZE);
    array_display(array, SIZE,"排序前：");

    // 3、排序
    for(i = SIZE - 1; i>0; i--)
    {
        for( j = 0 ; j < i; j++)
        {
            if( array[j] > array[j+1] )
            {
                temp =array[j];
                array[j] = array[j+1];
                array[j+1] =temp;
            }
        }
    }
    array_display(array, SIZE,"排序后：");
}

static void sort_2()
{
    int array[SIZE];// 定义时，下标只能为常量
    int i,j;
    int max; // 最大值下标位置
    int temp; // 用于交换数据的中间数据

    array_random(array, SIZE);
    array_display(array, SIZE,"排序前：");


    for(i = SIZE -1; i>0; i--)
    {
        max = 0;
        for( j = 1 ; j < i; j++)
        {
            if( array[j] > array[max] )
            {
                max = j;
            }
        }
        if( array[ max] > array[i])
        {
            temp = array[max];
            array[max] = array[j];
            array[j] = temp;
        }

    }

    array_display(array, SIZE,"排序后：");
}

void sortMain()
{
    // sort_1();
    sort_2();
}
